package com.ygqh.baby.service.wechat.model;

import com.alibaba.fastjson.annotation.JSONField;

public class RedPack {

	/**
	 * @Fields serialVersionUID :
	 */
	private static final long serialVersionUID = -8938450649822329455L;

	/**
	 * 
	 商户订单号（每个订单号必须唯一。取值范围：0~9，a~z，A~Z） 接口根据商户订单号支持重入，如出现超时可再调用。
	 */
	@JSONField(name = "mch_billno")
	private String mchBillno;

	/**
	 * 微信分配的公众账号ID（企业号corpid即为此appId）。接口传入的所有appid应该为公众号的appid（在mp.weixin.qq.
	 * com申请的），不能为APP的appid（在open.weixin.qq.com申请的）
	 */
	@JSONField(name = "wxappid")
	private String wxappid;

	/**
	 * 服务商模式下触达用户时的appid(可填服务商自己的appid或子商户的appid)，服务商模式下必填，
	 * 服务商模式下填入的子商户appid必须在微信支付商户平台中先录入，否则会校验不过。
	 */
	@JSONField(name = "msgappid")
	private String msgappid;
	/**
	 * 红包发送者名称
	 */
	@JSONField(name = "send_name")
	private String sendName;
	/**
	 * 接受红包的用户 用户在wxappid下的openid，服务商模式下可填入msgappid下的openid。
	 */
	@JSONField(name = "re_openid")
	private String reOpenid;

	/**
	 * 付款金额，单位分
	 */
	@JSONField(name = "total_amount")
	private String totalAmount;
	/**
	 * 
	 红包发放总人数 total_num=1
	 */
	@JSONField(name = "total_num")
	private String totalNum;

	/**
	 * 红包祝福语128
	 */
	@JSONField(name = "wishing")
	private String wishing;

	/**
	 * 调用接口的机器Ip地址
	 */
	@JSONField(name = "client_ip")
	private String clientIp;

	/**
	 * 活动名称
	 */
	@JSONField(name = "act_name")
	private String actName;

	/**
	 * 备注信息
	 */
	@JSONField(name = "remark")
	private String remark;

	/**
	 * 发放红包使用场景，红包金额大于200时必传 </br> PRODUCT_1:商品促销 PRODUCT_2:抽奖 PRODUCT_3:虚拟物品兑奖
	 * PRODUCT_4:企业内部福利 PRODUCT_5:渠道分润 PRODUCT_6:保险回馈 PRODUCT_7:彩票派奖
	 * PRODUCT_8:税务刮奖
	 */
	@JSONField(name = "scene_id")
	private String sceneId;

	/**
	 * 活动信息 </br>
	 * posttime%3d123123412%26clientversion%3d234134%26mobile%3d122344545%26d
	 * eviceid%3dIOS</br>
	 *
	 * posttime:用户操作的时间戳 mobile:业务系统账号的手机号，国家代码-手机号。不需要+号 deviceid :mac
	 * 地址或者设备唯一标识 clientversion :用户操作的客户端版本 把值为非空的信息用key=value进行拼接，再进行urlencode
	 * urlencode(posttime=xx& mobile =xx&deviceid=xx)
	 */
	@JSONField(name = "risk_info")
	private String riskInfo;

	/**
	 * 扣钱方mchid </br> 常规模式下无效，服务商模式下选填，服务商模式下不填默认扣子商户的钱
	 */
	@JSONField(name = "consume_mch_id")
	private String consumeMchId;

	public RedPack() {
		super();
	}

	/**
	 * 
	 * @Title:
	 * @param re_openid
	 *            接受红包的用户 用户在wxappid下的openid，服务商模式下可填入msgappid下的openid。
	 * @param total_amount
	 *            付款金额，单位分
	 * @param total_num
	 *            红包发放总人数 total_num=1
	 * @param wishing
	 *            红包祝福语
	 * 
	 * @param act_name
	 *            活动名称
	 * @param remark
	 *            备注信息 入参
	 */
	public RedPack(String re_openid, String total_amount, String total_num, String wishing, String act_name, String remark) {
		super();
		this.reOpenid = re_openid;
		this.totalAmount = total_amount;
		this.totalNum = total_num;
		this.wishing = wishing;
		this.actName = act_name;
		this.remark = remark;
	}

	public String getMchBillno() {
		return mchBillno;
	}

	public void setMchBillno(String mchBillno) {
		this.mchBillno = mchBillno;
	}

	public String getWxappid() {
		return wxappid;
	}

	public void setWxappid(String wxappid) {
		this.wxappid = wxappid;
	}

	public String getMsgappid() {
		return msgappid;
	}

	public void setMsgappid(String msgappid) {
		this.msgappid = msgappid;
	}

	public String getSendName() {
		return sendName;
	}

	public void setSendName(String sendName) {
		this.sendName = sendName;
	}

	public String getReOpenid() {
		return reOpenid;
	}

	public void setReOpenid(String reOpenid) {
		this.reOpenid = reOpenid;
	}

	public String getTotalAmount() {
		return totalAmount;
	}

	public void setTotalAmount(String totalAmount) {
		this.totalAmount = totalAmount;
	}

	public String getTotalNum() {
		return totalNum;
	}

	public void setTotalNum(String totalNum) {
		this.totalNum = totalNum;
	}

	public String getWishing() {
		return wishing;
	}

	public void setWishing(String wishing) {
		this.wishing = wishing;
	}

	public String getClientIp() {
		return clientIp;
	}

	public void setClientIp(String clientIp) {
		this.clientIp = clientIp;
	}

	public String getActName() {
		return actName;
	}

	public void setActName(String actName) {
		this.actName = actName;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getSceneId() {
		return sceneId;
	}

	public void setSceneId(String sceneId) {
		this.sceneId = sceneId;
	}

	public String getRiskInfo() {
		return riskInfo;
	}

	public void setRiskInfo(String riskInfo) {
		this.riskInfo = riskInfo;
	}

	public String getConsumeMchId() {
		return consumeMchId;
	}

	public void setConsumeMchId(String consumeMchId) {
		this.consumeMchId = consumeMchId;
	}

	@Override
	public String toString() {
		return "RedPack [mchBillno=" + mchBillno + ", wxappid=" + wxappid + ", msgappid=" + msgappid + ", sendName=" + sendName + ", reOpenid=" + reOpenid
				+ ", totalAmount=" + totalAmount + ", totalNum=" + totalNum + ", wishing=" + wishing + ", clientIp=" + clientIp + ", actName=" + actName
				+ ", remark=" + remark + ", sceneId=" + sceneId + ", riskInfo=" + riskInfo + ", consumeMchId=" + consumeMchId + "," + super.toString() + "]";
	}

}
